home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Mac Game Programming Gurus / TricksOfTheMacGameProgrammingGurus.iso / CodeWarrior Lite / Metrowerks C⁄C++ Lite / Headers / System Extras Headers / GX Headers / selection library.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-02  |  4.1 KB  |  145 lines  |  [TEXT/MMCC]

  1. /*
  2.     File:        selection library.h
  3.  
  4.     Copyright:    © 1984-1994 by Apple Computer, Inc., all rights reserved.
  5.  
  6.     WARNING
  7.     This file was auto generated by the interfacer tool. Modifications
  8.     must be made to the master file.
  9.  
  10. */
  11.  
  12. #ifndef selectionLibraryIncludes
  13. #define selectionLibraryIncludes
  14.  
  15.     #ifndef layoutTypesIncludes
  16. #include "layout types.h"
  17. /*    #include "math types.h"                                        */
  18. /*        #include <Types.h>                                        */
  19. /*            #include <ConditionalMacros.h>                        */
  20. /*            #include <MixedMode.h>                                */
  21. /*                #include <Traps.h>                                */
  22. /*    #include "graphics types.h"                                    */
  23.     #endif
  24.  
  25.     #ifndef graphicsTypesIncludes
  26.     #endif
  27.  
  28.     #ifdef __cplusplus
  29. extern "C" {
  30.     #endif
  31.  
  32. #define selectionExtremeEdge -1
  33.  
  34. enum SelectionTypes {
  35.     emptySelection,
  36.     simpleCaret,
  37.     simpleRange,
  38.     discontiguousRange
  39. };
  40.  
  41. typedef unsigned short SelectionType;
  42.  
  43. enum SelectionMatches {
  44.     notInSelection,
  45.     partlyInSelection,
  46.     fullyInSelection,
  47.     equalToSelection
  48. };
  49.  
  50. typedef unsigned short SelectionMatch;
  51.  
  52. typedef long SelectionOffset;
  53.  
  54. #if defined(powerc) || defined (__powerc)
  55. #pragma options align=mac68k
  56. #endif
  57. struct SelectionOffsetRange {
  58.     SelectionOffset                minOffset;
  59.     SelectionOffset                maxOffset;
  60. };
  61. #if defined(powerc) || defined(__powerc)
  62. #pragma options align=reset
  63. #endif
  64.  
  65. #if defined(powerc) || defined (__powerc)
  66. #pragma options align=mac68k
  67. #endif
  68. struct SelectionRanges {
  69.     long                        rangeCount;
  70.     struct SelectionOffsetRange    ranges[1];
  71. };
  72. #if defined(powerc) || defined(__powerc)
  73. #pragma options align=reset
  74. #endif
  75.  
  76. #if defined(powerc) || defined (__powerc)
  77. #pragma options align=mac68k
  78. #endif
  79. struct CaretPiece {
  80.     SelectionOffset                offset;
  81.     short                        leadingEdge;
  82. };
  83. #if defined(powerc) || defined(__powerc)
  84. #pragma options align=reset
  85. #endif
  86.  
  87. #if defined(powerc) || defined (__powerc)
  88. #pragma options align=mac68k
  89. #endif
  90. struct Selection {
  91.     SelectionType                type;
  92.     union {
  93.         struct CaretPiece            caret;
  94.         struct SelectionRanges        range;
  95.     }                            data;
  96. };
  97. #if defined(powerc) || defined(__powerc)
  98. #pragma options align=reset
  99. #endif
  100.  
  101. typedef struct Selection *SelectionPtr, **SelectionHandle;
  102.  
  103.     #ifndef __cplusplus
  104. typedef struct SelectionOffsetRange SelectionOffsetRange;
  105.  
  106. typedef struct SelectionRanges SelectionRanges;
  107.  
  108. typedef struct CaretPiece CaretPiece;
  109.  
  110. typedef struct Selection Selection;
  111.  
  112.     #endif
  113.  
  114. extern SelectionHandle NewEmptySelection(void);
  115. extern SelectionHandle NewCaretSelection(SelectionOffset offset, long leadingEdge);
  116. extern SelectionHandle NewRangeSelection(SelectionOffsetRange *range);
  117. extern SelectionHandle NewFullSelection(void);
  118. extern SelectionHandle NewStartSelection(SelectionOffset toOffset);
  119. extern SelectionHandle NewEndSelection(SelectionOffset fromOffset);
  120. extern void SetEmptySelection(SelectionHandle selection);
  121. extern void SetCaretSelection(SelectionHandle selection, SelectionOffset offset, long leadingEdge);
  122. extern void SetRangeSelection(SelectionHandle selection, SelectionOffsetRange *range);
  123. extern void SetFullSelection(SelectionHandle selection);
  124. extern void SetStartSelection(SelectionHandle selection, SelectionOffset toOffset);
  125. extern void SetEndSelection(SelectionHandle selection, SelectionOffset fromOffset);
  126. extern void DisposeSelection(SelectionHandle selection);
  127. extern SelectionType GetSelectionType(SelectionHandle selection);
  128. extern SelectionOffset GetCaretSelection(SelectionHandle selection, boolean *leadingEdge);
  129. extern long GetRangeSelection(SelectionHandle selection, SelectionRanges *selectionRanges);
  130. extern SelectionMatch RangeInSelection(SelectionHandle selection, SelectionOffsetRange *range);
  131. extern void InvertSelection(SelectionHandle dest);
  132. extern void ShiftSelection(SelectionHandle dest, SelectionOffset delta);
  133. extern void UnionSelection(SelectionHandle dest, SelectionHandle source);
  134. extern void SectSelection(SelectionHandle dest, SelectionHandle source);
  135. extern void XorSelection(SelectionHandle dest, SelectionHandle source);
  136. extern void DiffSelection(SelectionHandle dest, SelectionHandle source);
  137. extern gxShape GetLayoutSelection(gxShape layout, SelectionHandle selection, SelectionOffset lineStart, gxHighlightType highlightType, gxCaretType caretType);
  138. extern SelectionHandle NewDiscontiguousSelection(SelectionRanges *ranges);
  139.     #ifdef __cplusplus
  140. }
  141.     #endif
  142.  
  143. #endif
  144.  
  145.